Auto merge of #4032 - alexcrichton:retry-500, r=matklad
authorbors <bors@rust-lang.org>
Thu, 11 May 2017 20:24:47 +0000 (20:24 +0000)
committerbors <bors@rust-lang.org>
Thu, 11 May 2017 20:24:47 +0000 (20:24 +0000)
commitc00e56dea67c394aac9bf337cdea37fb5fd8570c
treebb94faf6d642a1048da2dcb10fc16671d3a848e3
parent58fe1a8d655b78f2224faec641aa97fcb6a72eb0
parent6155653653acd073c9888b2da73b9661d52e55aa
Auto merge of #4032 - alexcrichton:retry-500, r=matklad

Automatically retry HTTP requests returning 5xx

This commit implements auto-retry for downloading crates from crates.io whenever
a 5xx response is returned. This should help assist with automatic retries
whenever Cargo attempts to download directly from S3 but S3 returns a 500 error,
which is defined as "please retry again".

This logic may be a little eager to retry *all* 500 errors, but there's a
maximum cap on all retries regardless, so hopefully it doesn't result in too
many problems.

Closes #3962